package cn.com.nes.site.modules.sale.dto;

import cn.com.nes.site.service.crm.customer.dto.CustomerFileDTO;
import cn.com.nes.site.service.crm.opportunity.dto.OpportunityFileDto;
import cn.com.nes.site.service.crm.order.dto.SalePriceMasterDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@ApiModel("销售详情出参模型")
@Data
public class EndUserSaleDetailDTO extends SaleDetailDTO {

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "行政区划代码")
    private String areaCode;

    @ApiModelProperty(value = "建筑面积")
    private BigDecimal buildArea;

    @ApiModelProperty(value = "建筑层高")
    private BigDecimal buildingHeight;

    @ApiModelProperty(value = "建筑结构")
    private String buildingStructure;

    @ApiModelProperty(value = "建筑类型")
    private String buildingType;

    @ApiModelProperty(value = "共用供暖区")
    private BigDecimal commonHeatingArea;

    @ApiModelProperty(value = "客户编码")
    private String customerCode;

    @ApiModelProperty(value = "客户姓名")
    private String customerName;

    @ApiModelProperty(value = "设计公司")
    private String designCompany;

    @ApiModelProperty(value = "设计热负荷")
    private BigDecimal designDirection;

    @ApiModelProperty(value = "设备列表")
    private List<SaleDeviceDTO> deviceList;

    @ApiModelProperty(value = "末端状态")
    private String endState;

    @ApiModelProperty(value = "能源类型")
    private String energyType;

    @ApiModelProperty(value = "采暖面积")
    private BigDecimal heatingArea;

    @ApiModelProperty(value = "采暖末端")
    private String heatingEnd;

    @ApiModelProperty(value = "供暖方式")
    private String heatingMode;

    @ApiModelProperty(value = "房屋面积")
    private BigDecimal houseArea;

    @ApiModelProperty(value = "房屋朝向")
    private String houseDirection;

    @ApiModelProperty(value = "门牌号")
    private String houseNumber;

    @ApiModelProperty(value = "房屋用途")
    private String housePurpose;

    @ApiModelProperty(value = "身份证号码")
    private String idCardNumber;

    @ApiModelProperty(value = "是否安装光伏")
    private String installPhotovoltaic;

    @ApiModelProperty(value = "安装位置")
    private String installPosition;

    @ApiModelProperty(value = "是否本村户籍")
    private String localHouseHold;

    @ApiModelProperty(value = "终端客户商机Uuid")
    private String opportunityUuid;

    @ApiModelProperty(value = "电表号")
    private String meterNumber;

    @ApiModelProperty(value = "用能主体性质")
    private String natureEnergyType;

    @ApiModelProperty(value = "新申报面积")
    private BigDecimal newlyDeclaredArea;

    @ApiModelProperty(value = "原申报面积")
    private BigDecimal originalDeclaredArea;

    @ApiModelProperty(value = "外墙保温")
    private String outerWallKeepWarm;

    @ApiModelProperty(value = "外墙厚度")
    private String outerWallThickness;

    @ApiModelProperty(value = "图纸编号")
    private String paperCode;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "计划年度")
    private String planYear;

    @ApiModelProperty(value = "房间数")
    private BigDecimal roomCount;

    @ApiModelProperty(value = "系统单列表")
    private List<SalePriceMasterDTO> saleMasters;

    @ApiModelProperty(value = "选择设备列表")
    private List<SaleSelectDeviceDTO> selectDeviceList;

    @ApiModelProperty(value = "窗户类型")
    private String windowType;

    @ApiModelProperty(value = "行政区划代码")
    private String xzqhdm;

    @ApiModelProperty(value = "是否本村户籍")
    private String isVillagers;
    @ApiModelProperty(value = "申请种类0不够八年1够八年")
    private String applicationType;
    @ApiModelProperty(value = "低保户和五保户0是低保户1是5保户")
    private String dbhhwbh;
    @ApiModelProperty(value = "设计图")
    private List<OpportunityFileDto> designDrawings;

    @ApiModelProperty(value = "平面图")
    private List<OpportunityFileDto> planeGraphs;
    @ApiModelProperty(value = "设备告知承诺书")
    private List<OpportunityFileDto> sbgzcns;
    @ApiModelProperty(value = "客户文件列表")
    private List<CustomerFileDTO> fileList;

    @ApiModelProperty(value = "客户名称")
    @NotNull(message = "客户名称")
    private String customerNameNow;
    @ApiModelProperty(value = "客户电话")
    @NotNull(message = "客户电话")
    private String  phoneNow;
    @ApiModelProperty(value = "是否户主")
    @NotNull(message = "是否户主")
    private String isHouseholder;
    @ApiModelProperty(value = "客户身份证号")
    @NotNull(message = "客户身份证号")
    private String idCardNumberNow;
    @ApiModelProperty(value = "联系人id")
    private String customerStaffId;

}
